package com.example.file_management.pojo.user;

import com.fasterxml.jackson.annotation.JsonProperty;
//import jakarta.persistence.*;
import lombok.Data;  // Lombok注解：生成getter、setter、toString、equals和hashCode方法
import lombok.NoArgsConstructor; // Lombok注解：生成无参构造函数
import lombok.AllArgsConstructor; // Lombok注解：生成全参构造函数

import java.time.LocalDateTime;

// TODO：注意需要检查驼峰映射

//@Entity
//@Table(name = "group_table")
@Data  // Lombok注解：自动生成getter、setter、toString、equals、hashCode方法
@NoArgsConstructor // Lombok注解：生成无参构造函数
@AllArgsConstructor // Lombok注解：生成全参构造函数
public class Group {
    @JsonProperty
//    @Id
//    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long groupId;

//    @Column(name = "group_name", nullable = false, length = 255)
    private String groupName;

//    @Column(name = "parent_group_id", nullable = false)
    private Long parentGroupId;

    @JsonProperty
//    @Column(name = "role_id", nullable = false, length = 255)
    private Long roleID;

//    @Column(name = "created_at", nullable = false, updatable = false)
//    @Temporal(TemporalType.TIMESTAMP)
    private LocalDateTime createdAt;

//    @Column(name = "deleted_at", nullable = true)
//    @Temporal(TemporalType.TIMESTAMP)
    private LocalDateTime deletedAt;
//    @Column(name = "update_at", nullable = true)
//    @Temporal(TemporalType.TIMESTAMP)
    private LocalDateTime updateAt;


    // 构造函数、Getter和Setter方法由Lombok自动生成
}